﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace peonwar
{
    static class MissionManager
    {
        public static List<GameInfos> MissionList { get; private set; }
        public static void Initialize()
        {
            GameInfos Mission1 = new GameInfos { };

            Mission1.MissionName = "Tutorial";
            Mission1.Map = MapManager.Grass;
            Mission1.partietime = -1; // C'est le tuto donc infini
            Mission1.red_perso = Perso.None;
            Mission1.startmoney = 800;
            Mission1.difficulty = Difficulty.Training;
            Mission1.Online = false;
            Mission1.missionNber = 1;
            Mission1.AvailableUnit = new bool[] { true, true, true, false, false, false, false, false, false };
            Mission1.Gamemode = GameMode.Campaign;
            Mission1.StartBaseHealth = 5000;
            Mission1.StartLevel = 0;

            GameInfos Mission2 = new GameInfos { };
            Mission2.MissionName = "First Slice";
            Mission2.Map = MapManager.Grass; // Premiere vrai mission
            Mission2.partietime = 60 * 20;
            Mission2.red_perso = Perso.Kruiser;
            Mission2.startmoney = 600;
            Mission2.difficulty = Difficulty.Easy;
            Mission2.Online = false;
            Mission2.missionNber = 2;
            Mission2.AvailableUnit = new bool[] { true, true, true, true, false, false, false, false, false };
            Mission2.Gamemode = GameMode.Campaign;
            Mission2.StartBaseHealth = 5000;
            Mission2.StartLevel = 0;

            GameInfos Mission3 = new GameInfos { };
            Mission3.MissionName = "Winter Storm"; // apprentissage dans les petites map
            Mission3.Map = MapManager.Winter;
            Mission3.partietime = 60 * 15;
            Mission3.red_perso = Perso.Frohman;
            Mission3.startmoney = 600;
            Mission3.difficulty = Difficulty.Easy;
            Mission3.Online = false;
            Mission3.missionNber = 3;
            Mission3.AvailableUnit = new bool[] { true, true, true, true, true, false, false, false, false };
            Mission3.Gamemode = GameMode.Campaign;
            Mission3.StartBaseHealth = 16000;
            Mission3.StartLevel = 0;

            GameInfos Mission4 = new GameInfos { };
            Mission4.MissionName = "Finish the Captain"; // tres peut de temps, beaucoup de thune, il faut rusher
            Mission4.Map = MapManager.Winter;
            Mission4.partietime = 60 * 5;
            Mission4.red_perso = Perso.Frohman;
            Mission4.startmoney = 1000;
            Mission4.difficulty = Difficulty.Medium;
            Mission4.Online = false;
            Mission4.missionNber = 4;
            Mission4.AvailableUnit = new bool[] { true, true, true, true, true, false, false, false, false };
            Mission4.Gamemode = GameMode.Campaign;
            Mission4.StartBaseHealth = 5000;
            Mission4.StartLevel = 0;

            GameInfos Mission5 = new GameInfos { };
            Mission5.MissionName = "Death Toll"; // Combat normal en IA medium
            Mission5.Map = MapManager.Forest;
            Mission5.partietime = 60 * 20;
            Mission5.red_perso = Perso.Rengar;
            Mission5.startmoney = 800;
            Mission5.difficulty = Difficulty.Medium;
            Mission5.Online = false;
            Mission5.missionNber = 5;
            Mission5.AvailableUnit = new bool[] { true, false, true, true, true, false, true, false, false };
            Mission5.Gamemode = GameMode.Campaign;
            Mission5.StartBaseHealth = 12000;
            Mission5.StartLevel = 0;

            GameInfos Mission6 = new GameInfos { };
            Mission6.MissionName = "Crysis War"; // beaucoup moin de thune au depart
            Mission6.Map = MapManager.Forest;
            Mission6.partietime = 60 * 20;
            Mission6.red_perso = Perso.Rengar;
            Mission6.startmoney = 300;
            Mission6.difficulty = Difficulty.Medium;
            Mission6.Online = false;
            Mission6.missionNber = 6;
            Mission6.AvailableUnit = new bool[] { true, true, true, false, false, false, true, false, false };
            Mission6.Gamemode = GameMode.Campaign;
            Mission6.StartBaseHealth = 8000;
            Mission6.StartLevel = 0;

            GameInfos Mission7 = new GameInfos { }; // retoure amiral
            Mission7.MissionName = "The Return Of The Admiral";
            Mission7.Map = MapManager.City; // Mapcity
            Mission7.partietime = 60 * 20;
            Mission7.red_perso = Perso.Kruiser;
            Mission7.startmoney = 800;
            Mission7.difficulty = Difficulty.Hard;
            Mission7.Online = false;
            Mission7.missionNber = 7;
            Mission7.AvailableUnit = new bool[] { true, true, true, true, true, false, true, false, false };
            Mission7.Gamemode = GameMode.Campaign;
            Mission7.StartBaseHealth = 12000;
            Mission7.StartLevel = 0;

            GameInfos Mission8 = new GameInfos { };
            Mission8.MissionName = "Taliban's Rebellion";
            Mission8.Map = MapManager.Desert;
            Mission8.partietime = 60 * 15;
            Mission8.red_perso = Perso.Frika;
            Mission8.startmoney = 800;
            Mission8.difficulty = Difficulty.Hard;
            Mission8.Online = false;
            Mission8.missionNber = 8;
            Mission8.AvailableUnit = new bool[] { true, true, true, true, true, true, true, false, false };
            Mission8.Gamemode = GameMode.Campaign;
            Mission8.StartBaseHealth = 12000;
            Mission8.StartLevel = 0;

            GameInfos Mission9 = new GameInfos { };
            Mission9.MissionName = "A.Frika's Last Offensive"; // plein de thune mais peut de temps
            Mission9.Map = MapManager.Desert;
            Mission9.partietime = 60 * 10;
            Mission9.red_perso = Perso.Frika;
            Mission9.startmoney = 1000;
            Mission9.difficulty = Difficulty.Hard;
            Mission9.Online = false;
            Mission9.missionNber = 9;
            Mission9.AvailableUnit = new bool[] { true, true, true, true, true, true, true, true, false };
            Mission9.Gamemode = GameMode.Campaign;
            Mission9.StartBaseHealth = 20000;
            Mission9.StartLevel = 0;

            GameInfos Mission10 = new GameInfos { };
            Mission10.MissionName = "The Female's Den";
            Mission10.Map = MapManager.Temple;
            Mission10.partietime = 60 * 20;
            Mission10.red_perso = Perso.Emelle;
            Mission10.startmoney = 1000;
            Mission10.difficulty = Difficulty.Empowered;
            Mission10.Online = false;
            Mission10.missionNber = 10;
            Mission10.AvailableUnit = new bool[] { true, true, true, true, true, true, true, true, true };
            Mission10.Gamemode = GameMode.Campaign;
            Mission10.StartBaseHealth = 6666;
            Mission10.StartLevel = 0;

            GameInfos Mission11 = new GameInfos { }; // only vehicle
            Mission11.MissionName = "City Conflict";
            Mission11.Map = MapManager.City;
            Mission11.partietime = -1;
            Mission11.red_perso = Perso.Doktor;
            Mission11.startmoney = 1200;
            Mission11.difficulty = Difficulty.Empowered;
            Mission11.Online = false;
            Mission11.missionNber = 11;
            Mission11.AvailableUnit = new bool[] { false, false, false, true, false, true, true, true, true };
            Mission11.Gamemode = GameMode.Campaign;
            Mission11.StartBaseHealth = 15000;
            Mission11.StartLevel = 2;

            GameInfos Mission12 = new GameInfos { }; // Combat mega long
            Mission12.MissionName = "Frontier of the World";
            Mission12.Map = MapManager.Frontier;
            Mission12.partietime = -1;
            Mission12.red_perso = Perso.Doktor;
            Mission12.startmoney = 1500;
            Mission12.difficulty = Difficulty.Hopeless;
            Mission12.Online = false;
            Mission12.missionNber = 12;
            Mission12.AvailableUnit = new bool[] { true, true, true, true, true, true, true, true, true };
            Mission12.Gamemode = GameMode.Campaign;
            Mission12.StartBaseHealth = 25000;
            Mission12.StartLevel = 0;

            MissionList = new List<GameInfos> {};
            MissionList.Add(Mission1);
            MissionList.Add(Mission2);
            MissionList.Add(Mission3);
            MissionList.Add(Mission4);
            MissionList.Add(Mission5);
            MissionList.Add(Mission6);
            MissionList.Add(Mission7);
            MissionList.Add(Mission8);
            MissionList.Add(Mission9);
            MissionList.Add(Mission10);
            MissionList.Add(Mission11);
            MissionList.Add(Mission12);
        }
    }
}
